Nginx: windows下nginx代理实现本地https请求转http |
您所在的位置:网站首页 › 未调用win notice接口 › Nginx: windows下nginx代理实现本地https请求转http |
Nginx: windows下nginx代理实现本地https请求转http
背景需求:
https网站下要求ajax请求(iframe、img等资源)都要是https域名,http不能用,或被浏览器拦截(可以关闭浏览器的安全策略拦截)小程序、公众号等需要https域名接口或资源,调用本地http资源失败(可以打开调试模式绕过)
解决原理
本地(服务器)代理监听https端口,代理转发请求http接口或资源。但是ip地址是不能创建安全证书的,所以需要先有一个域名,指向这个内网ip地址。最终内网下,访问域名即可请求到本地资源 解决步骤 1、下载安装nginx(先不要启动) 官网下载nginx https://nginx.org/en/download.html 解压 2、创建nginx证书第一种 使用腾讯云、阿里云控制台(最简单),本文举例腾讯云 搜索:ssl证书,进入控制台 选择免费证书 填写域名和接收邮箱 等待邮件接收即可下载使用 第二种 使用openssl创建证书 参考文档:https://blog.51cto.com/lw112190/6265264 3、修改nginx配置项新建文件夹pem,将刚才申请的证书下载存放在里面 打开并编辑:nginx.conf 本文是监听https服务,若http端口不冲突可以不改,或者注释掉http部分,只打开https这里 server { listen 4433 ssl; server_name localhost; ssl_certificate pem/client.noleft.cn_bundle.pem; ssl_certificate_key pem/client.noleft.cn.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } location / { proxy_pass http://172.16.25.110:5001/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }证书如果是我一样存放方式,不要在ssl_certificate地址的地方前面加上 / 否则会从D盘开始找 4、配置homes相当于 域名解析。只是解析放到了本地而已。只是本电脑生效 win + R 输入:C:\Windows\system32\drivers\etc 或者输入文件夹地址回车: 根据实际情况,添加ip和域名的映射关系 5、启动nginx双击启动即可,会闪一次黑框就是启动正常 其他:1、 重启nginx nginx文件夹内,右击菜单选择 nginx -s reload如果报错找不到nginx,则执行: .\nginx -s reload |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |